1.PHP运行方式有哪些?
php本身是一个php代码的脚本执行程序,运行方式是指其运行的方法。整理归纳为一下五种方法:
模块加载运行方式 (Apache)
CGI运行方式 (Apache)
FastCGI运行方式 (几乎通用Apache nginx lighttp)
ISAPI运行方式 (window下Apache)
cli运行方式 (就是命令行)
前四种是提供给web服务器来处理php代码文件,其中模块加载的方式其实是最快的的,但FastCGI配合nginx WEB服务是目前的主流。
2.是否参与过多人协作项目,在多人协作项目中担任什么角色。Bug 如何管理,需求如何确定。项目采用什么开发框架,为什么采用这个开发框架。代码如何管理,测试发布的流程是如何做的。
常见的多人协作工具:
文档协作工具:
石墨 多人文档编辑工具,可以确定任务思路,可以进行头脑会议。可以发表一些个人建议,可以有效提高团队方案讨论、协作撰稿和校稿等工作的效率。
项目协作工具:
trello 轻量级的协同办公工具,团队成员可以用它来创建和分配任务,并跟踪任务进展情况。 是敏捷开发的工具。
代码托管工具:
github 或者 gitlab 或者 国内的 开源中国,码云
3.在多人协作中担任的角色
在多人协作中,担任软件后台开发主要人员。以及多个项目的流程绘制工作。
4.bug管理工具:
蒲公英 tracup
bugtags 可以继承 android ios 和js 的集成包
项目采用yii2的框架
5.常见的安全问题
sql 注入漏洞
ip
cookies 和 session
权限控制漏洞
验证码
接口:token
6.关于前端开发 ,浏览器兼容的问题?
问题:
由于浏览器的标签默认的外补丁和内补丁不同,则如果随便写几个标签。则会造成padding 和 margin的差异较大,影响整体的统一性。。4
解决方案:CSS里加 {margin:0;padding:0;}
备注:几乎所有的CSS文件开头都会用通配符来设置各个标签的内外补丁是0。
问题:
图片默认有间距问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
解决方案:使用float属性为img布局
备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。使用float是正道。
js兼容
ID 获取的兼容性
在IE下,我们是可以通过document.idName来获取元素,但是Firefox是不允许的。
而且Firefox中我们使用与html对象ID相同的变量名,所以,获取元素最好使用document.getElementById(”idName”) 代替 document.idName,避免不必要的bug
7.并发 vs 并行
并发和并行进行区分还是挺简单的,用erlang之父Joe Armstrong画的一张图说明一下:
parallel_vs_concurency
并发是两个队列交替使用一台咖啡机,并行是两个队列同时使用两台咖啡机,如果串行,一个队列使用一台咖啡机,如果前面那个人接好咖啡一直不离开,会导致后面的人都没有咖啡喝.就像程序中一个独享资源被占用,其他线程就处于等待中一样,但是并发通过某种机制,比如时间分片等,规定每个人只能使用咖啡机30秒钟,那么1分钟当中,并发就可以做到2次,所以并发的大小和占用资源的时间是负相关的,资源占用时间短才能够做到高并发
8.吞吐率(Requests per second)
这个比较好理解,每秒能够处理的请求数,越大越好,说白了这个跟发动机功率一样,越大代表性能越强
计算公式:
Request per second = Complete requests / Time taken for tests 请求次数 = 完成请求总数 / 请求时间
9.用户平均请求等待时间Time per request
计算公式:
处理完成所有请求数所花费的时间/ (总请求数 / 并发用户数)
Time per request = Time taken for tests /( Complete requests / Concurrency Level)